Retrieving and presenting dynamic traffic information

ABSTRACT

A system, a method and computer-readable media for presenting dynamic traffic information. A user profile is stored, and advisory data based on the user profile is gathered. The advisory data may include traffic information associated with road segments identified by the user profile. Upon receiving a user input, the advisory data is presented to a user.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. Non-provisional applicationSer. No. 11/316,567, filed Dec. 21, 2005, now pending, entitled“RETRIEVING AND PRESENTING DYNAMIC TRAFFIC INFORMATION,” which is hereinincorporated by reference, and which claims the benefit under 35 U.S.C119(e) (as does this application) of U.S. Provisional Application No.60/638,739, entitled “METHOD AND SYSTEM FOR CONVERGING COMMUNICATIONS OFPUBLIC INFORMATION AND TRAVEL INFORMATION VIA WEB PRESENTATIONS” andU.S. Provisional Application No. 60/639,060, entitled “METHOD AND SYSTEMFOR RETRIEVING AND PRESENTING DYNAMIC DATABASE INFORMATION,” both filedDec. 22, 2004. These provisional applications are hereby incorporated byreference as well.

This application is related by subject matter to the inventionsdisclosed in the following commonly assigned applications, which arehereby incorporated by reference: U.S. patent application Ser. No.11/313,520, entitled “GEOMETRY CREATION TOOL”; U.S. patent applicationSer. No. 11/316,135, entitled “COMMUNICATION OF PROJECT INFORMATION”;and U.S. patent application Ser. No. 11/314,607, entitled “METHOD ANDSYSTEM FOR PRESENTING TRAFFIC-RELATED-INFORMATION.”

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

Not applicable.

BACKGROUND

With the complexity surrounding modern construction projects,dissemination of project information can be a formidable task. Forexample, a roadway construction project can impact millions of peopleevery day as they travel the effected roads. Further, it is common forlarge projects to involve many contributing organizations, as well asnumerous stakeholders. As these projects may require years to complete,efficiently managing and distributing project information is acritically important task.

When handling project information, one of the many challenges ismaintaining current information while avoiding outdated or stalecontent. As known to those in the art, project schedules changefrequently and for a variety of reasons. Further, information mayoriginate from numerous different sources. For example, consider a roadconstruction project. Traffic data representing real-time conditions maybe received from a traffic operations center, while constructionphasing, closure schedules and alerts may be received from otherentities and organizations. Of course, traffic data may be of interestregardless of whether a construction project is active on a givenroadway.

Content management platforms for managing and distributing projectinformation currently exist, but these platforms are neither capable ofcombining current project data from a variety of sources into a singleinterface nor capable of providing adequate messaging utilities fornotification services. While web pages today may provide real-timetraffic information, these web pages do not incorporate projectinformation such as up-coming construction or event schedules. Further,these traffic interfaces do not permit user selection of routes fornotifications or alert. Also, currently available systems are notcapable of efficiently managing feedback from stakeholders with tools,for example, to handle electronic correspondence. Accordingly, there isa need, among other things, for improved systems and methods formanaging and communicating information such as project information andtraffic information.

SUMMARY

The present invention meets the above needs and overcomes one or moredeficiencies in the prior art by providing systems and methods forpresenting dynamic traffic information. In one aspect of the presentinvention, a computer-implemented method is provided. A user profile isstored. For example, the user profile may indicate road segments ofinterest to a user. Advisory data based on the user profile is gathered.The advisory data may include traffic information associated with theroad segments identified by the user profile. Upon receiving a userinput, the advisory data is presented to a user.

It should be noted that this Summary is provided to generally introducethe reader to one or more select concepts described below in theDetailed Description in a simplified form. This Summary is not intendedto identify key and/or required features of the claimed subject matter,nor is it intended to be used as an aid in determining the scope of theclaimed subject matter.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING

The present invention is described in detail below with reference to theattached drawing figures, wherein:

FIG. 1 is a block diagram of a computing system environment suitable foruse in implementing the present invention;

FIG. 2 illustrates a method in accordance with one embodiment of thepresent invention for presenting project information to a user;

FIG. 3 is a schematic diagram illustrating a system for managing andpresenting information related to a project in accordance with oneembodiment of the present invention;

FIG. 4 illustrates a method in accordance with one embodiment of thepresent invention for distributing traffic information;

FIG. 5 is a schematic diagram illustrating a system for managing andpresenting traffic information in accordance with one embodiment of thepresent invention;

FIG. 6 illustrates a method in accordance with one embodiment of thepresent invention for presenting dynamic traffic information to a user;

FIG. 7 is a schematic diagram illustrating a system for distributingroadway traffic information in accordance with one embodiment of thepresent invention;

FIGS. 8, 9 and 10 are screen displays for presentation in accordancewith embodiments of the present invention; and

FIG. 11 illustrates a method in accordance with one embodiment of thepresent invention for distributing traffic information to a user.

DETAILED DESCRIPTION

The subject matter of the present invention is described withspecificity to meet statutory requirements. However, the descriptionitself is not intended to limit the scope of this patent. Rather, theinventors have contemplated that the claimed subject matter might alsobe embodied in other ways, to include different steps or combinations ofsteps similar to the ones described in this document, in conjunctionwith other present or future technologies. Moreover, although the term“step” may be used herein to connote different elements of methodsemployed, the term should not be interpreted as implying any particularorder among or between various steps herein disclosed unless and exceptwhen the order of individual steps is explicitly described. Further, thepresent invention is described in detail below with reference to theattached drawing figures, which are incorporated in their entirety byreference herein.

The present invention provides an improved system and method fordistributing and presenting information to a user. An exemplaryoperating environment for the present invention is described below.

Referring initially to FIG. 1 in particular, an exemplary operatingenvironment for implementing the present invention is shown anddesignated generally as computing device 100. computing device 100 isbut one example of a suitable computing environment and is not intendedto suggest any limitation as to the scope of use or functionality of theinvention. Neither should the computing-environment 100 be interpretedas having any dependency or requirement relating to any one orcombination of components illustrated.

The invention may be described in the general context of computer codeor machine-useable instructions, including computer-executableinstructions such as program modules, being executed by a computer orother machine, such as a personal data assistant or other handhelddevice. Generally, program modules including routines, programs,objects, components, data structures, etc., refer to code that performparticular tasks or implement particular abstract data types. Theinvention may be practiced in a variety of system configurations,including hand-held devices, consumer electronics, general-purposecomputers, more specialty computing devices, etc. The invention may alsobe practiced in distributed computing environments where tasks areperformed by remote-processing devices that are linked through acommunications network.

With reference to FIG. 1, computing device 100 includes a bus 110 thatdirectly or indirectly couples the following elements: memory 112, oneor more processors 114, one or more presentation components 116,input/output ports 118, input/output components 120, and an illustrativepower supply 122. Bus 110 represents what may be one or more busses(such as an address bus, data bus, or combination thereof). Although thevarious blocks of FIG. 1 are shown with lines for the sake of clarity,in reality, delineating various components is not so clear, andmetaphorically, the lines would more accurately be gray and fuzzy. Forexample, one may consider a presentation component such as a displaydevice to be an I/O component. Also, processors have memory. It shouldbe noted that the diagram of FIG. 1 is merely illustrative of anexemplary computing device that can be used in connection with one ormore embodiments of the present invention. Distinction is not madebetween such categories as “workstation,” “server,” “laptop,” “hand-helddevice,” etc., as all are contemplated within the scope of FIG. 1 andreference to “computing device.”

Computing device 100 typically includes a variety of computer-readablemedia. By way of example, and not limitation, computer-readable mediamay comprise Random Access Memory (RAM); Read Only Memory (ROM);Electronically Erasable Programmable Read Only Memory (EEPROM); flashmemory or other memory technologies; CDROM, digital versatile disks(DVD) or other optical or holographic media; magnetic cassettes,magnetic tape, magnetic disk storage or other magnetic storage devicesor any other medium that can be used to encode desired information andbe accessed by computing device 100.

Memory 112 includes computer-storage media in the form of volatileand/or nonvolatile memory. The memory may be removable, nonremovable, ora combination thereof. Exemplary hardware devices include solid-statememory, hard drives, optical-disc drives, etc. Computing device 100includes one or more processors that read data from various entitiessuch as memory 112 or I/O components 120. Presentation component(s) 116present data indications to a user or other device. Exemplarypresentation components include a display device, speaker, printingcomponent, vibrating component, etc.

I/O ports 118 allow computing device 100 to be logically coupled toother devices including I/O components 120, some of which may be builtin. Illustrative components include a microphone, joystick, game pad,satellite dish, scanner, printer, wireless device, etc.

As previously mentioned, the present invention includes an improvedsystem for managing and presenting information related to a project. Avariety of endeavors may be a “project”, as the term is used herein. Forexample, construction projects are contemplated by the presentinvention. These construction projects may relate to land sitedevelopment, roadway or other infrastructure construction or to theconstruction of buildings and other structures. The present inventionmay also be used along with non-construction projects. In sum,embodiments of the present invention may be used with any number ofarchitectural, engineering or other projects.

FIG. 2 illustrates a method 200 for presenting project information to auser. At a step 202, the method 200 represents a project with multipleobjects. A project may be divided into constituent parts, and each ofthese parts will have a relationship with the other parts and with theproject as a whole. For example, the road segments undergoingconstruction and/or affected by the project can represent a roadwayconstruction project. As another example, a site development project maybe represented by the parcels of land within the site. A buildingproject may be described by locations in the structure or by otherdivisions. As will be appreciated by those skilled in the art, there maybe numerous ways to represent a project with objects.

At a step 204, the method 200 receives items of information related tothe project. A wide variety of information may be received by the method200, and the information may originate from many different sources. Theinformation may relate to current conditions in the area affected by theproject or may relate to project progress. The information may indicatescheduled project events and may lie out a timeline for the project'scompletion. The information may also be feedback and comments fromstakeholders. In one embodiment, each item of information is associatedwith at least one of the objects. By associating information withobjects, the received information can be intelligently organized. Forexample, real-time traffic data and scheduled lane closures may beassociated with discrete road segments in a roadway constructionproject. By organizing the data in this manner, the current and futureconditions on each of the various road segments may be examined andtracked.

The method 200, at a step 206, receives a user input selecting one ofthe objects. In one embodiment, the method 200 provides a user interfacethat includes a graphical representation of the project, as representedby the various objects. By using this interface, the user may select thegraphic associated with an object of interest. For example, the user maybe a commuter seeking roadway conditions on a particular roadwaysegment. As a further example, the user may be a project contributortracking the project progress to ensure that it stays on schedule.Depending on the type of project, there may be numerous users havinginterest in some portion of the project and desiring the ability toreceive project information in an efficient manner.

At a step 208, the method 200 presents information associated with theselected object to the user. Any number of techniques known in the artmay be used for this presentation. Further, the presented informationmay be subject to a variety of content management and data securityconstraints. In one embodiment, the user is provided an interface toselect objects and to view presented information. For example, a map ofa site development project may be presented over the Internet. Byselecting to view information associated with parcels of land within thesite, a project contributor can track development of the variousparcels. Those skilled in the art will recognize that any number ofinterfaces may be used to provide graphical representations of a projectand to present information associated with selected segments.

FIG. 3 illustrates a system 300 for managing and presenting informationrelated to a project. The system 300 includes a platform 302. In oneembodiment, the platform 302 provides integrated data management andmessaging utilities designed for converging project information forpresentation to users.

The platform 302 includes a data engine 304. The data engine 304 is anapplication that may be configured to process a variety of data fordisplay within a graphic user interface. The data engine 304 may alsoprovide messaging utilities for subscription-based notificationservices. The data engine 304 receives information in the form ofdigital data from data sources 306. As will be appreciated by thoseskilled in the art, there are many different forms of data that mayrelate to a project. As an example, consider a roadway constructionproject. Traffic speed and performance data are gathered from roadwaysensors, while video is obtained from traffic cameras. Data, such asincidents, road closures or construction and detour information, isstored in a database, and computer-assisted dispatch data may bereceived from law enforcement agencies. Road condition and weather dataare transmitted over roadway weather information systems, while text ispresented on dynamic message signs. Roadway geometry is stored in CADsystems. In sum, the data sources 306 may provide a variety of data tothe data engine 304 related to a project.

In addition to the project data received from the data sources 306, thedata engine 304 may receive additional project information. As will bediscussed, the platform 302 may be configured to manage and maintaininformation such as construction schedules and other documents relevantto a project. The data engine 304 may receive this additional projectinformation and may enable its presentation.

The data engine 304 may process the received items of data/informationby associating each item with a project object. As previously mentioned,multiple objects may represent a project. By associating data withproject objects, the data associated with a segment can be presented toa user on demand. To accomplish this presentation, a user interface 312may receive information from the platform 302 via a network 314. In oneembodiment, the network 314 is the Internet, and the user interface 312is provided as a web page.

Returning to the roadway construction project example, the userinterface 312 may present a traffic map displaying the roads affected bythe construction project. Traffic speed ranges on roadway segments maybe indicated with colors, while actual speeds are displayed when theuser selects a segment. Icons may be positioned within the userinterface 312 to indicate available, location-specific data forincidents, traffic cam images and variable message signs text. Further,the user interface 312 may receive information such as constructionphasing, closure schedules and alerts from a content managementcomponent 308. Each of these items of information may be associated witha road segment and presented by the user interface 312 upon a user'srequest.

In one embodiment, the various project objects (e.g., road segments) maybe presented by representing the objects with graphical representations(e.g., a traffic map). These representations may be derived from CADfiles or similar type files. As a project progresses, these files mayalso be updated to reflect current originations of the project objects.Accordingly, the graphical representation of the project will accuratelydepict the current status and location of project object.

The data engine 304 may distribute information via a variety ofdifferent methods. In addition to the user interface 312, theinformation may be distributed via e-mail, specialized applicationprograms, web sites developed specifically for PDAs, palmtops and otherwireless Internet-enabled devices, RSS (Really Simple Syndication)services using XML, or SMS (Short Message System) data for cell phones.The data engine 304 may also distribute information with other forms ofpublic information delivery such as telematics or any applications thatinclude vehicle-based electronic systems, mobile telephony, vehicletracking and positioning, on-line navigation and information servicesand emergency assistance. As will be appreciated by those skilled in theart, the data engine 304, by associating items of information withproject objects, can enable the distribution of a wide variety ofproject information via any number of distribution means.

The platform 302 also includes a content management component 308. Thecontent management component 308 may manage a variety of content such asweb site content, documents and media. The content management component308 may manage information presented over the Internet, an intranetand/or an extranet. In one embodiment, the content management component308 is designed to allow complex/modular cross content relationships andsorting. An administrator may establish these relationships withinformation (e.g., schedules, new items, events, and documents) mademodular by the content management component 308.

The content management component 308 may contain a security modelallowing administrative controls over content. Administrators may add,modify and delete authorized users and may maintain user profile data.Administrators may assign incremental access to content administrationand security modules across multiple projects.

To manage content, the content management component 308 may include avariety of modules designed to handle types of content or contentactions. One exemplary module may be a document assets module. Thedocument assets module may allow remote uploading and organization ofelectronic document assets. As another exemplary module, an eventscheduler module may be utilized to enter schedules of upcoming or pastevents. Content such as meeting agendas, handouts, photo files, studymaterials and other documents may be associated with these events. Thecontent management component 308 may also include a module that handlesnews releases and a module that handles images. For example the imagemodule may allow the remote upload and organization of electronic imageassets (photos, scans, drawings) and may provide set creation forcontent modularity.

Content modules may be specific to a certain type of project. For aroadway construction project, a traffic information management modulemay allow manual or automatic entry of traffic alerts or publicadvisories within an online public presentation. In addition toadministering alerts and advisories, the traffic information managementmodule may allow control over construction and closure scheduleinformation that will be provided to the public, stakeholders or aprivate audience. As will be appreciated by those skilled in the art,the content management component 308 may provide any number of modulescapable of managing a wide variety of content.

The platform 302 further includes a comment manager 310. The commentmanager 310 may be utilized for tracking, mining and managing feedbackconcerning a project. In one embodiment, the comment manager 310 offerssubscriber-based services and provides archived and current messagegovernance for data gathered from an audience. The comment manager 310may operate as a repository for general public survey/stakeholder andresponse information, and it may provide tools to handle electroniccorrespondence and subscriber lists for mailings or online services. Thecomment manager may utilize the user interface 312 to receive commentsand feedback. As the user interface 312 presents project information tointerested parties, these parties are likely to have relevant feedbackconcerning the project.

The comment manager 310 may also include a correspondence manager thatopens incoming correspondence from web site comment forms. Thecorrespondence manager may draft and save e-mail responses for reviewand may send replies. As another example, the comment manager 310 mayinclude a subscription manager that manages subscriber lists andprofiles for online, e-mail, regular mail and other services. Thecomment manager 310 may utilize keywords or remarks to identifyindividual comments or groups of comments for later retrieval. A recordsdatabase may be maintained, and custom utilities may generate anddisplay statistical data on comments received. The comment manager 310may also be configured to send mass e-mail messages to entire subscriberlists and to conduct general or invitation-only online surveys using webforms or more sophisticated media. Surveys can range from a simplecollection of checkboxes, radio buttons and multiple-choice or yes/noquestions to more sophisticated or custom-designed presentations withimages, video, narration or other multimedia elements.

The comment manager 310 may manage a number of subscriber lists. Thesesubscriber lists may be used for any number of services such as trafficalerts, email alerts and personalized email news. In one embodiment,public web site users can manage their subscriber profiles online, andunsubscribe to any or all services. Records from a subscriber databasecan be downloaded as delimited text files for use in mail merges orcreating mailing labels.

FIG. 4 illustrates a method 400 for distributing traffic information.The method 400, at a step 402, generates alerts describing scheduledevents anticipated to affect traffic conditions. Any number of eventsmay affect traffic conditions. For example, a construction project maycause traffic delays or dictate that traffic be rerouted/detoured.Popular events, such as concerts or sporting events, may be expected toaffect traffic, and, thus, these events may also be the subject ofalerts. In one embodiment, the alerts are generated by utilizing aschedule of events. One in possession of this schedule may identifyevents as expected to affect traffic and as being appropriate for basingan alert.

At a step 404, the method 400 associates the alerts with segments ofroad. In one embodiment, the method 400 may utilize a computerapplication such as the data engine 304 of FIG. 3 to associate alertswith the road segments. For example, an alert may indicate that acertain number of lanes will be closed on a highway. This alert may beassociated with each road segment affected by the lane closure. Thoseskilled in the art will appreciate any number of data storage techniquesknown in the art may be acceptable for storing representations of roadsegments and for associating alerts with the road segment in a datastore.

The method 400, at a step 406, provides a visual representation of theroad segments in a user interface. In one embodiment, a traffic map isprovided over the Internet as a web page. In other embodiments, thevisual representation is provided as text data appropriate to bedisplayed, for example, on a cellular telephone. The visualrepresentation may reflect the current real-time traffic conditions onthe road segments. For example, the roads may be color-coded to reflectthe average speed of traffic. The user interface may include navigationcontrols for the user to view road segments of interest and to zoom inand out on the presentation. Additional controls may also be provided toallow the user to select the type of information that is displayed. Forexample, the user interface may allow the user to view predicted futureoccupancy or usage of the roads. Historic traffic data may be used topredict this future use. Similarly, the user interface may allow theuser to view how the roads will change as the construction projectprogresses. As the method 400 may interact with a schedule of events,this schedule may be used to predict the future traffic occupancy/usageand the future placement of the road segments.

At a step 408, the method 400 receives a user input selecting a roadsegment. Depending on the interface displayed at the step 406, anynumber of techniques may be utilized to receive the user input. Forexample, the user may use a mouse to select a segments displayed on atraffic map. Text-based interfaces may also have input methods allowinga user to select a road segment. In one example, the user may selectroad segments of interest, and these segments may be stored as part of auser profile.

The method 400, at a step 410, displays the alerts associated with theselected road segments. In one embodiment, the alerts are provided inthe user interface. As another example, the alerts may be communicatedvia email or other messaging means. The method 400 may use a userprofile to determine which users should receive an alert. As will beappreciated by those skilled in the art, because the alerts areassociated with road segments in a data store, the method 400 may accessthe data store, identify the alerts associated with the selected segmentand retrieve these alerts for presentation to a user.

FIG. 5 illustrates a system 500 for managing and presenting trafficinformation. It should be noted that, while the system 500 is directedtowards traffic information, a wide variety of projects could utilize asystem such as the system 500. The system 500 utilizes traffic datagathered from a variety of traffic data sources 502. The traffic datasources 502 may include a variety of different devices. For example,sensors may monitor the speed of traffic, while cameras may captureimages and video of the traffic. The traffic data sources 502 may alsoindicate active incidents and the text displayed on roadway signs.

The system 500 also includes a traffic observation center database 504.The database 504 may receive a portion of the traffic data from thetraffic data sources 502. In one embodiment, the traffic observationcenter database 504 receives a variety of the traffic data and utilizesthe data to calculate speed, performance and estimated travel times onthe monitored roads. Those skilled in the art will recognize that adatabase such as the traffic observation center database 504 may bemaintained by a regional transportation authority or may be privatelymaintained. In either case, the traffic observation center database 504may be configured to receive and store a wide variety of traffic dataand to use the data to describe and report traffic conditions.

A data engine 506 is included in the system 500. The data engine 506 isconfigured to receive data from the traffic observation center database504. For example, an application on the traffic observation centerdatabase 504 may generate a data stream that is transmitted to the dataengine 506. In one embodiment, the data stream has an XML format, andthe data stream may be made available to broadcast media and otherinformation providers. In this way, the data stream may have valuebeyond its use in the system 500. The data engine 506 may also receivedata directly from the traffic data sources 502. For example, a videofeed from a traffic camera may be transmitted directly to the dataengine 506. The data engine 506 may also receive information from aninformation manager 508. The information manager 508 may store a varietyof information relevant to traffic conditions. For example, theinformation manager 508 may store construction schedules defining roadclosures and roads changes caused by a construction project.

Upon receiving the traffic data, the data engine 506 may be configuredto gather, organize and/or format the data for display on a userinterface 510 and for transmission via an alert system 512. For example,the data engine 506 may be configured to associate received data with asection of roadway. As the roadways may be represented with discretepieces of geometry in the data engine 506, the received data can beorganized by relating information with pieces of geometry. Varioustechniques for such data storage and organization are known in the art.When the user interface 510 requests display of traffic data, the dataengine 506 may communicate such information to the user interface 510,organized by roadway segment. Similarly, alerts provided by the alertsystem 512 may include information related to a roadway segment ofinterest.

As an example, the traffic data received by the data engine 506 mayindicate that lanes on a particular road segment will be closed for ascheduled period of time. In one embodiment, this closure information isreceived from the information manager 508, and the information includesa beginning date and end date for the closure. The data engine 506 maydisplay the closure information on the user interface 510 along with thedisplay of the affected road segment. The data engine 506 may alsoenable the alert system 512 to generate alerts notifying subscribers ofthe closure. The information manager 508 may also provide custom alerts.For example, a festival may affect traffic on a roadway segment. Analert associated with this festival may be communicated to the dataengine 506, and the data engine 506 may enable presentation of thiscustom alert on the user interface 510 and by the alert system 512.

FIG. 6 illustrates a method 600 for presenting dynamic trafficinformation to a user. At a step 602, the method 600 stores a userprofile that includes user settings. A variety of information may bestored in the user's profile. In one embodiment, the method 600 mayutilize an application program residing on a user's computer. Theapplication program may include an interface in which a user mayindicate road segments of interest. For example, a user may input theirroute to work. The profile may also indicate the type of informationthat a user desires to view. A user may specify which alerts they wouldlike to view and/or how often the information should be updated.

The method 600 receives a user input requesting traffic data at a step604. A wide variety of traffic information may be presented by themethod 600. For example, the current speed, volume and occupancy ofroadways may be displayed. Further, incident reports, road closures andother advisories may be presented. A user input may request this trafficdata, and any number of inputs may be received at the step 604.

In response to the user input, at a step 606, the method 600communicates a request to a server. In one embodiment, an applicationprogram may contact the server over the Internet. The server may housethe traffic data, and the server may be in communication with a databaseof traffic information such as the traffic observation center database504 of FIG. 5. The server may also be in communication with a dataengine such as the data engine 506 of FIG. 5. In sum, the server mayhave access to a broad array of traffic information from multiplesources.

The server may be running a web service configured to receive therequest communicated at the step 606. In one embodiment, the requestincorporates information from a user's profile. For example, the profilemay store routes of interest to a user. In this case, the request mayinclude an indication of these selected routes, as well as the types ofinformation desired by the user. In response to the request, the servermay query its data store and identify traffic information responsive tothe request. This information may then be communicated to the user'scomputer.

At a step 608, the method 600 receives and presents the requestedtraffic information. Any number of presentation techniques may beacceptable for the present invention. For example, the server maycommunicate the traffic information for display by the application. Inone embodiment, the information is presented by the server as adynamically generated web page. In this way, the user may refresh thetraffic data and navigate to additional information of interest in thecontext of an Internet browser. The dynamic generation of a web page inresponse to a user request is well known in the art.

FIG. 7 illustrates a system 700 for distributing roadway trafficinformation. The system 700 includes an application program 702. Theapplication program 702 may reside on a user computer 704. Theapplication program 702 may store a user's profile that identifies roadsegments of interest to a user. The profile may also indicate the typesof alerts a user desires. For example, the user may choose to receivetraveler alerts, performance information and/or closure information.Further, the application program 702 may provide any number ofinterfaces for presenting traffic information.

The application program 702 may be configured to access trafficinformation over a network, such as the Internet 706. Via the Internet706, the application program 702 may interact with a server 708 toobtain traffic information. The server 708 may have access to a widevariety of information relevant to traffic conditions. For example, theserver 708 may be in communication with a traffic information data store710. The data store 710 may store a wide variety of traffic informationfrom a variety of sources. In one embodiment, the data store 710includes a relational database in which items of traffic information areassociated with segments of roadway.

To gather traffic information, roadside devices 712 may collectinformation such as traffic speed, digital images/video and text fromroad signs and may communicate this information to the data store 710.The information from the roadside devices 712 may be used to calculateother measures of traffic performance such as traffic volume and thepercent occupancy of the roads. These measures may also be stored in thedata store 710. The data store 710 may also receive information relevantto traffic conditions from a content manager 714. The content manager714 may save information such as construction and lane closureschedules. The content manager 714 may also communicate customizedalerts to the data store 710.

The application program 702 may communicate a request for traffic datato the server 708. Embedded in the request may be an indication ofroutes of interest, as indicated by a user's profile. The request mayalso indicate the type of information desired by the user. Responsive tothis request, the server 708 may query the data store 710 for therequested information and may return relevant data to the applicationprogram 702. In one embodiment, the application program 702 may receivetraffic data from the server 708 when the program 702 is launched.Subsequently, the application program 702 recurrently communicates withthe server 708 to determine changes to the traffic information. Forexample, the application program 702 may check for updated informationevery 10 minutes. If new information exists, the application program 702may notify the user of the updated information. In one embodiment, theapplication program 702 displays an icon on the user's screen, and, whena new update is detected, the icon flashes and changes color.

When a user indicates a desire to view traffic information, theapplication program 702 communications a request to the server 708 andreceive the traffic information. Any number of interfaces may beacceptable for presentation of the traffic information. In oneembodiment, the server 708 may return the requested information as a webpage, and the application program 702 may enable presentation of the webpage. For example, the server 708 may dynamically generate the web pageupon receiving the request from the application program 702. Techniquesfor such dynamic generation and presentation of web pages are well knownin the art.

FIGS. 8, 9 and 10 illustrate screen displays for presentation to a userin accordance with an embodiment of the present invention. FIG. 8illustrates a screen display 800 that allows a user to input informationrelevant to the user's profile. Using the screen display 800, the usermay create a profile for use with a system such as the system 700 ofFIG. 7. The screen display 800 includes a route selection area 802. Theroute selection area 802 lists segments of roadway (i.e., routes) thatthe user may have an interest in obtaining traffic information. The usermay select a particular route by clicking a user-selectable check box.For example, a user may select each road segment upon which he commonlytravels.

The screen display 800 also includes an advisory selection area 804. Inone embodiment, three types of advisory data are available: performance,traveler alerts and closures. Performance advisory data shows currenttraffic speeds for single or dual-segment travel route definitions.Actual speeds may be shown for single segment routes, while averagespeeds are shown for dual-segment routes. Traveler alerts may be enteredmanually by a project team and may describe unscheduled spot-closures orunanticipated situations that may affect traffic flow for extendedperiods. Traveler alerts may also include crash or other real-timeincident information. The closures advisory data displays informationsuch as scheduled off-ramp, on-ramp, local street or mainline closures.For example, the closures listed may be those that will begin or be inprogress during the next seven-day period. In one embodiment, recordsare displayed from a closure database, which is programmed long-termwith long-term closure schedule and adjusted short-term as needed.

Turning to FIG. 9, a screen display 900 is presented, and the screendisplay 900 may display desired traffic information. As previouslydiscussed, a request for traffic information may be transmitted to aserver over the Internet, and the server may communicate informationresponsive to this request. To display the received information, thescreen display 900 may be utilized. The screen display 900 includes aperformance display area 902 in which performance advisory data ispresented. For example, the performance display area 902 may present thecurrent speed of traffic on the routes indicated by a user's profile. Inone embodiment, if the speed of a segment falls below a predeterminedthreshold (e.g., 20 miles per hour), the performance display area 902presents an icon alert with the route. For example, the route “EB I-94to EB I-794” includes an icon alert because the current speed is only 5miles per hour.

The screen display 900 also includes a traveler alert display area 904and a closures display area 906. A variety of information may bedisplayed in the areas 904 and 906, and the presented information mayvary based on the user's profile. Also, icon alerts may indicateimportant or newly added advisories. Finally, the screen display 900includes a toolbar 908 having a number of user-selectable tools. Forexample, the toolbar 908 may allow the user to update (refresh) theinformation presented on the display areas 902, 904 and 906. The toolbar908 may also allow the user to alter profile settings and to specifyroutes and advisory of interest. In sum, any number of tools may beprovided by the toolbar 908.

The screen display 900 may also provide links to additional information.For example, the performance display area 902 includes an option to view“More performance info . . . ” FIG. 10 presents an exemplary screendisplay 1000 that provides such supplemental performance information.The screen display 1000 presents a performance display area 1002. Theperformance display area 1002 includes “Actual/Expected Travel-Time(Min.),” which shows the amount of time to travel through the segment(s)named verses the typical travel time in off-peak traffic periods. Thedisplay area 1002 also includes the current traffic speed and the volumeof traffic on the roadway segment, expressed in cars per hour. Anoccupancy measure is also included. One hundred percent occupancydescribes a roadway completely occupied by vehicles (i.e., bumper tobumper) traveling at the posted speed limit. It should be noted thatFIGS. 8, 9 and 10 illustrate merely exemplary screen displays, and thepresent invention is not limited to any one type of screen display,interface or platform.

FIG. 11 illustrates a method 1100 for distributing traffic informationto a user. At a step 1102, the method 1100 receives user profileinformation. A variety of information may be stored as user profileinformation. For example, the information may indicate road segments ofinterest and/or the type of information that a use desires to view.

At a step 1104, the method 1100 checks a data source for traffic alertsthat may of interest to user. In one embodiment, the data source may beaccessible over the Internet and may store a wide variety of trafficdata. Utilizing the user profile information, the method 1100 maydetermine road segments of interest to a user and may contact the datasource to obtain traffic information associated with these roadsegments. The data source may store alerts that indicate any number ofdifferent conditions affecting traffic. For example, alerts may relateto road closures or construction schedules. Alerts may indicate sportingor other events that may lead to heavier than expected traffic. Further,accidents and unusually slow traffic conditions may trigger alerts.

The method 1100 determines whether alerts exist for road segments ofinterest at a step 1106. When such alerts do exist, the method 1100notifies the user at a step 1108. A variety of notification techniquesmay be utilized by the method 1100. For example, a message window mayappear on the user's screen. As another example, an icon associated witha traffic information application may change color and blink in responseto a new alert.

At a step 1110, the method 1100 waits a predetermined period of timebefore re-checking the data source for alerts. For example, the method1100 may wait 10 minutes before re-establishing communication with thedata source and checking for updated information and alerts. As will beappreciated by those skilled in the art, applications commonly wait apredetermined period of time when monitoring for changes to informationor for new messages. By recurrently communicating with the data sourceonce every time period, the method 1100 may keep the user up-to-date asto the current traffic condition on road segments of interest.

Alternative embodiments and implementations of the present inventionwill become apparent to those skilled in the art to which it pertainsupon review of the specification, including the drawing figures.Accordingly, the scope of the present invention is defined by theappended claims rather than the foregoing description.

1. One or more computer-readable non-transitory storage media havingcomputer-useable instructions embodied thereon to perform a method forpresenting dynamic traffic information, said method comprising: by wayof an Internet browser, presenting on a computing device a traffic map;receiving user input via said Internet browser that indicates aselection of one or more road segments displayed on said traffic map,wherein said user input is received by way of a pointing device that isoperable to select said one or more road segments on said traffic map;maintaining a schedule of traffic events that list one or more futureevents expected to impact traffic conditions; gathering advisory databased on said user input and said schedule of said traffic events,wherein said advisory data includes predicted traffic occupancy or usageassociated with said traffic events on said schedule; receiving arequest from said computing device to present traffic data associatedwith said one or more road segments; dynamically generating a web pageresponsive to said request, and presenting said web page via saidInternet browser, wherein said web page presents at least a portion ofsaid advisory data associated with said one or more road segments. 2.The media of claim 1, wherein said advisory data includes at least oneof performance data, traveler alerts and closures data.
 3. The media ofclaim 1, wherein said gathering advisory data includes interacting witha data store over the Internet.
 4. The media of claim 1, wherein saidmethod further comprises notifying the user of one or more alertsassociated with at least one of said one or more road segments.
 5. Asystem for distributing roadway traffic information, said systemcomprising: a data source storing traffic data related to one or moreroad segments, wherein said traffic data includes at least one ofperformance data, traveler alerts and closures data for each of at leasta portion of said one or more road segments, wherein said data sourcemaintains a schedule of traffic events listing one or more future eventsexpected to impact traffic and stores predicted traffic occupancy orusage generated by predicting the impact of said one or more futureevents on said traffic conditions; and an application program configuredto store a user profile that identifies selected road segments and toobtain said traffic data associated with the selected road segments fromsaid data source, wherein said application program is configured topresent a traffic map and to receive user inputs selecting at least aportion of said one or more road segments displayed on said traffic map,wherein said user inputs are made via mouse clicks selecting roadsegments on said traffic map; wherein said application program isfurther configured to provide a dynamically-generated web pagepresenting at least a portion of said traffic data associated with saidselected road segments, wherein the presented traffic data includes atleast a portion of said predicted traffic occupancy or usage and atleast a portion of said data indicating future placement of saidselected road segments.
 6. The system of claim 5, wherein saidapplication program is further configured to provide a user interfacefor presenting at least a portion of said traffic data in response to auser request.
 7. The system of claim 5, wherein said application programis further configured to monitor said traffic data by recurrentlycommunicating with said data source.
 8. The system of claim 7, whereinsaid application program is further configured to notify a user of oneor more alerts associated with at least one of the selected roadsegments.
 9. One or more computer-readable non-transitory storage mediahaving computer-useable instructions embodied thereon to perform amethod for distributing traffic information, said method comprising:presenting a traffic map over the Internet with an Internet browser;receiving user inputs to said Internet browser selecting one or moreroad segments displayed on said traffic map, wherein said user inputsare made via a pointing device operable to select said one or more roadsegments on said traffic map; maintaining a schedule of traffic eventslisting one or more future events expected to impact traffic conditions,said schedule further listing future placement of at least a portion ofone or more road segments; generating predicted traffic occupancy orusage by predicting the impact of said one or more future events andsaid future placement on said traffic conditions, wherein said predictedtraffic occupancy or usage is stored in a data source; monitoring saiddata source to observe one or more alerts associated with at least oneof said one or more road segments, wherein at least a portion of saidone or more alerts indicate the predicted traffic occupancy or usage;and when said one or more alerts are observed, notifying the user ofsaid one or more alerts by presenting a dynamically-generated web pageindicating at least a portion of said predicted traffic occupancy orusage.
 10. The media of claim 9, wherein said user profile includesinformation related to routes and advisory types.
 11. The media of claim9, wherein at least a portion of said one or more alerts relate to roadclosures.
 12. The media of claim 9, wherein at least a portion of saidone or more alerts relate to traffic performance on at least one of saidone or more road segments.
 13. The media of claim 9, wherein saidnotifying the user of said one or more alerts includes altering thevisual appearance of an icon.
 14. The media of claim 9, said notifyingthe user of said one or more alerts includes generating a message to besent to said user.
 15. The media of claim 9, wherein said monitoringsaid data source includes periodically communicating with said datasource over the Internet.